1. Field of the Invention
The present invention generally relates to a waveform data generation apparatus for simultaneously generating sine wave data and cosine wave data.
2. Description of the Related Art
A waveform data generation apparatus is used in an apparatus for performing modulation and demodulation by the use of a quadrature component. The apparatus for performing modulation and demodulation is, for example, a communication apparatus using a digital modulation demodulation system such as quadrature phase shift keying (QPSK) or the like, a color encoder for performing the digital quadrature modulation of two color-difference signals to output a modulated color-difference signal, or the like. The waveform data generation apparatus simultaneously generates a sine wave signal sinxcfx89t and a cosine wave signal cosxcfx89t, where the angle changes in response to time.
As the simplest system of such a waveform data generation apparatus, there is known a system which is equipped with read only memories (ROM""s), in which a period of waveform data for a sine waveform and a period of waveform data for a cosine waveform are separately stored, and from which the stored sine waveform data and cosine waveform data simultaneously are read by the use addresses defined by time variables.
Although the system reading data from the ROM""s has an advantage that a circuit configuration of the system is simple, the system encounters the disadvantage that the system needs two ROM""s having a large storage capacity, and the system encounters the disadvantage that it becomes difficult to configure a waveform data generation apparatus as a single integrated circuit, and the like.
For remedying the aforesaid disadvantage, for example, as disclosed in Japanese Patent Publication (kokai) No. 8-256352, there is known a method for further decreasing waveform data to be stored in the ROM""s, which utilizes the periodicity of the angles of a sine waveform and a cosine waveform to store only the waveform data of a half or a quarter of the angle of one period in the ROM""s, and generates sine waveform data and cosine waveform data for a period from the waveform data read from the ROM""s by the use of the periodicity of the angles.
Although the method disclosed in Japanese Patent Publication (Kokai) No. 8-256352 has the advantage that it can decrease the storage capacities of the ROM""s to a half or a quarter of those of previous ROM""s, the method encounters the disadvantage that the configuration of a control circuit for generating addresses for reading waveform data from the ROM""s in consideration of the periodicity of angles becomes complicated. That is, the method needs arithmetic operation processing such as addition, subtraction and the like for generating address data, and the method needs condition branching processing for switching the generation method of address data according to angles. Consequently, the configuration of the control circuit becomes complicated.
An object of the present invention is to provide a waveform data generation apparatus capable of decreasing the number of waveform data to be stored in a storage portion and capable of simplifying the configuration thereof.
According to a first aspect of the present invention, there is provided a waveform data generation apparatus for generating sine wave data and cosine wave data according to an angle change within a range 0-360 degrees having a first storage portion for storing first sine wave data or a first cosine wave data in either of the angular sections on both sides of a zero-crossing point of a sine wave or a cosine wave, each of the angular sections being 45 degrees of an angular range which is defined as one of eight sections equally divided between 0 and 360 degrees on the basis of 0 degree; a second storage portion for storing second sine wave data or second cosine wave data in an angular section adjacent to the angular section on which the data stored in the first storage portion exists, under a condition that the first sine wave data or the first cosine wave data and the second sine wave data or the second cosine wave data include 0 and a maximum or a minimum thereof; a pulse counting portion for counting pulses indicating an angular change and outputting the binary counted value corresponding to an angle within a range 0-360 degrees, the pulse counting portion outputting a first counted value to be reset at every angular section, and a second counted value being a counted value of a bit carried-up at every reset of the first counted value at every 45 degrees; a read address selection portion including an angle inversion portion for performing an angle inversion of the first counted value on the basis of 45 degrees, and first selection portion for receiving a first inverted counted value, which is angle-inverted by the angle inversion portion, and the first counted value and outputting the received two counted values as a reading address of the first and the second storage portions according to the least significant bit of the second counted value; a data selection portion including a second selection portion for receiving the sine wave data and the cosine wave data, which are read out from the first and the second storage portions in response to the address output from the read address selection portion, and selecting and outputting the sine wave data and the cosine wave data according to the states of two bits of the least significant bit of the second counted value and a higher order bit adjacent to the least significant bit; and a polarity processing portion including a first polarity conversion portion for converting a polarity of the sine wave data output from the second selection portion, a second polarity conversion portion for converting a polarity of the cosine wave data output from the second selection portion, and a third selection portion for receiving the sine wave data output from the second selection portion, the sine wave data having a polarity converted by the first polarity conversion portion, the cosine wave data output from the second selection portion, and the cosine wave data having a polarity converted by the second polarity conversion portion, and selecting and outputting the sine wave data and the cosine wave data, the polarities of both being processed according to the states of two bits of one and two higher order bits next to the least significant bit.